#include<iostream>
using namespace std;
const int maxn=100;
int n,a[maxn];
int partition(int l,int r)
{
    int base=a[l],i=l,j=r+1;
    while(1)
    {
        while(a[++i]<base&&i<r);
        while(a[--j]>base);
        if(i>=j) break;
        swap(a[i],a[j]);
    }
    a[l]=a[j];
    a[j]=base;
    return j;
}
void qsort(int l,int r)
{
    if(l<r)
    {
        int q=partition(l,r);
        qsort(l,q-1);
        qsort(q+1,r);
    }
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    qsort(1,n);
    for(int i=1;i<=n;i++)
    cout<<a[i]<<" ";
}